﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LightCAD.Core
{


    public struct TriIndex
    {
        //索引号，用于面索引
        public int i;
        public int a;
        public int b;
        public int c;
    }
    public class FaceIndex
    {
        public int Index;
        /// <summary>
        /// 轮廓的顶点索引
        /// </summary>
        public List<int> Contour { get; set; }
        public List<List<int>> Holes { get; set; }
        /// <summary>
        /// 三角形索引
        /// </summary>
        public List<int> Triangles { get; set; }
        /// <summary>
        /// 面的材质
        /// </summary>
        public string Material { get; set; }
        /// <summary>
        /// 材质设置
        /// </summary>
        public string MaterialSettings { get; set; }
    }
    /// <summary>
    /// 原生
    /// </summary>
    public class Solid3d : Geometry3d
    {
        public override bool IsSolid { get; } = true;
        public List<Vector3d> Vertices { get; set; }
        public List<TriIndex> Indics { get; set; }

        /// <summary>
        /// 逻辑面的索引
        /// </summary>
        public List<FaceIndex> Faces { get; set; }

    }
}
